<?php
/*
 * 
 * Hax:
 * Modifica el controller y action que se van a invocar
 * en base a la tabla permalink.
 * 
 * Si el permalink no existe el sistema continuará con su flujo
 * normal, buscando el script del controllador solicitado en la
 * URI, y en caso de no encontrarlo dispara NoControllerReceptor.
 * 
 * Por el momento, solo nos preocupamos por el permalink.
 * 
 */
$DbPermalink = new DbPermalink ();
$permalink = Controller::getRequestedControllerName ( TRUE );
$Permalink = $DbPermalink->get ( $permalink );

$permalink_target_id = 0;

if ($Permalink) {
	Controller::setRunningControllerName ( $Permalink->controller );
	Controller::setRunningActionName ( $Permalink->action );
	
	/*
	 * Definir el ID del target (categoria, producto, noticia, etc..)
	 * que se va a obtener en el controller->action definido.
	 */
	$permalink_target_id = $Permalink->target_id;
}

/*
 * Hay que asegurarnos de SIEMPRE definir el TARGET_ID, aun que no
 * sea encontrado el permalink.
 * Esto es para evitar errores "undefined constant" a lo largo
 * de los controladores.
 */

define ( 'TARGET_ID', $permalink_target_id );

/*
 * Un poco de limpieza no cae mal.
 */

unset ( $Permalink );
unset ( $DbPermalink );